package com.insuremonitor.system.domain;

import com.insuremonitor.common.annotation.Excel;
import com.insuremonitor.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.List;

/**
 * 保险种类信息对象 front_insure_info
 * 
 * @author ruoyi
 * @date 2023-11-21
 */
public class FrontInsureInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 保险种类ID */
    private Long insureInfoId;

    /** 保险类型ID */
    @Excel(name = "保险类型ID")
    private Long insureTypeId;

    /** 保险模板code */
    @Excel(name = "保险模板code")
    private String templateCode;

    /** 保险名称 */
    @Excel(name = "保险名称")
    private String insureName;

    /** 保险bannner图 */
    @Excel(name = "保险bannner图")
    private String insureBanner;

    /** 状态（1系统处理保险 2客服处理保险） */
    @Excel(name = "状态", readConverterExp = "1=系统处理保险,2=客服处理保险")
    private String insureKind;

    /** 适用条款 */
    @Excel(name = "适用条款")
    private String clause;

    /** 不承保物品 */
    @Excel(name = "不承保物品")
    private String noProtectGoods;

    /** 费率 */
    @Excel(name = "费率")
    private String rate;

    /** 特别声明 */
    @Excel(name = "特别声明")
    private String statement;

    /** 地域范围 */
    @Excel(name = "地域范围")
    private String placeScope;

    /** 保险介绍 */
    @Excel(name = "保险介绍")
    private String insureIntroduction;

    /** 投保形式 */
    @Excel(name = "投保形式")
    private String insureModality;

    /** 最低保费 */
    @Excel(name = "最低保费")
    private BigDecimal minInsureFee;

    /** 状态（0下架 1上架） */
    @Excel(name = "状态", readConverterExp = "0=下架,1=上架")
    private String shelfStatus;

    /** 状态（0停用 1正常） */
    @Excel(name = "状态", readConverterExp = "0=停用,1=正常")
    private String status;

    public void setInsureInfoId(Long insureInfoId)
    {
        this.insureInfoId = insureInfoId;
    }

    public Long getInsureInfoId()
    {
        return insureInfoId;
    }
    public void setInsureTypeId(Long insureTypeId)
    {
        this.insureTypeId = insureTypeId;
    }

    public Long getInsureTypeId()
    {
        return insureTypeId;
    }
    public void setTemplateCode(String templateCode)
    {
        this.templateCode = templateCode;
    }

    public String getTemplateCode()
    {
        return templateCode;
    }
    public void setInsureName(String insureName)
    {
        this.insureName = insureName;
    }

    public String getInsureName()
    {
        return insureName;
    }
    public void setInsureBanner(String insureBanner)
    {
        this.insureBanner = insureBanner;
    }

    public String getInsureBanner()
    {
        return insureBanner;
    }
    public void setInsureKind(String insureKind)
    {
        this.insureKind = insureKind;
    }

    public String getInsureKind()
    {
        return insureKind;
    }
    public void setClause(String clause)
    {
        this.clause = clause;
    }

    public String getClause()
    {
        return clause;
    }
    public void setNoProtectGoods(String noProtectGoods)
    {
        this.noProtectGoods = noProtectGoods;
    }

    public String getNoProtectGoods()
    {
        return noProtectGoods;
    }
    public void setRate(String rate)
    {
        this.rate = rate;
    }

    public String getRate()
    {
        return rate;
    }
    public void setStatement(String statement)
    {
        this.statement = statement;
    }

    public String getStatement()
    {
        return statement;
    }
    public void setPlaceScope(String placeScope)
    {
        this.placeScope = placeScope;
    }

    public String getPlaceScope()
    {
        return placeScope;
    }
    public void setInsureIntroduction(String insureIntroduction)
    {
        this.insureIntroduction = insureIntroduction;
    }

    public String getInsureIntroduction()
    {
        return insureIntroduction;
    }
    public void setInsureModality(String insureModality)
    {
        this.insureModality = insureModality;
    }

    public String getInsureModality()
    {
        return insureModality;
    }
    public void setMinInsureFee(BigDecimal minInsureFee)
    {
        this.minInsureFee = minInsureFee;
    }

    public BigDecimal getMinInsureFee()
    {
        return minInsureFee;
    }
    public void setShelfStatus(String shelfStatus)
    {
        this.shelfStatus = shelfStatus;
    }

    public String getShelfStatus()
    {
        return shelfStatus;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("insureInfoId", getInsureInfoId())
                .append("insureTypeId", getInsureTypeId())
                .append("templateCode", getTemplateCode())
                .append("insureName", getInsureName())
                .append("insureBanner", getInsureBanner())
                .append("insureKind", getInsureKind())
                .append("clause", getClause())
                .append("noProtectGoods", getNoProtectGoods())
                .append("rate", getRate())
                .append("statement", getStatement())
                .append("placeScope", getPlaceScope())
                .append("insureIntroduction", getInsureIntroduction())
                .append("insureModality", getInsureModality())
                .append("minInsureFee", getMinInsureFee())
                .append("shelfStatus", getShelfStatus())
                .append("status", getStatus())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }


    //保险信息免赔对象
    private List<FrontInsureConfigDeduction> insureConfigDeductions;

    //保险信息保障范围对象
    private List<FrontInsureConfigSafeguard> insureConfigSafeguards;


    //扩展保险与费率之间的关系
    private List<FrontInsureRateExtend> insureRateExtends;

    //险种与货物与费率间的关系
    private List<FrontInsureRateKind> insureRateKinds;






    public List<FrontInsureConfigDeduction> getInsureConfigDeductions() {
        return insureConfigDeductions;
    }

    public void setInsureConfigDeductions(List<FrontInsureConfigDeduction> insureConfigDeductions) {
        this.insureConfigDeductions = insureConfigDeductions;
    }

    public List<FrontInsureConfigSafeguard> getInsureConfigSafeguards() {
        return insureConfigSafeguards;
    }

    public void setInsureConfigSafeguards(List<FrontInsureConfigSafeguard> insureConfigSafeguards) {
        this.insureConfigSafeguards = insureConfigSafeguards;
    }

    public List<FrontInsureRateExtend> getInsureRateExtends() {
        return insureRateExtends;
    }

    public void setInsureRateExtends(List<FrontInsureRateExtend> insureRateExtends) {
        this.insureRateExtends = insureRateExtends;
    }

    public List<FrontInsureRateKind> getInsureRateKinds() {
        return insureRateKinds;
    }

    public void setInsureRateKinds(List<FrontInsureRateKind> insureRateKinds) {
        this.insureRateKinds = insureRateKinds;
    }


}
